#include <iostream>
#include <algorithm>

#include "../LinkList/LinkList.h"

using namespace std;

bool isAnagram(string s, string t);
/*
给定两个字符串 s 和 t ，编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1: 输入: s = "anagram", t = "nagaram" 输出: true
示例 2: 输入: s = "rat", t = "car" 输出: false
*/




int main(){

    isAnagram("anagram","nagaram");

    return 0;
}

//哈希方法
bool isAnagram(string s, string t){

    int tab[26] = {0};

    for (char i : s) {
        int hash_s = i - 'a';
        tab[hash_s]++;
    }

    for (char i : t) {
        int hash_t = i - 'a';
        tab[hash_t]--;
        if(tab[hash_t]<0){
            return false;
        }
    }

    for (int i : tab) {
        if(i!=0){
            return false;
        }
    }

    return true;
}

//排序法 先排序，对比排序后的内容
bool isAnagram2(string s, string t) {
    if (s.length() != t.length()) {
        return false;
    }
    sort(s.begin(), s.end());
    sort(t.begin(), t.end());
    return s == t;
}

